import {request }  from "../../request/index.js";
import regeneratorRuntime from '../../lib/runtime/runtime';
Page({
  /**
   * 页面的初始数据
   */
  data: {
    goodObj:{},
    isInfo:false
  },
 GoodsInfo:[],
  /**
   * 生命周期函数--监听页面加载
   */
  onShow: function () {
      // 1.获取当前的小程序的页面数组，长度最大是10页面
      // 在onshow中获取路由传过来的参数
      let pages= getCurrentPages();
      console.log(pages)
      // 2.数组中 索引最大的页面就是当前页面
      let currentPage = pages[pages.length-1];
      let options = currentPage.options
      const {goods_id}=options
    // console.log(goods_id)
     this.getxq(goods_id)

  },
// 获取商品详情的数据
 async getxq(goods_id){
   const goodObj= await request({url:"/goods/detail",data:{goods_id}})
   this.GoodsInfo=goodObj

   
    //  获取缓存中商品收藏的数组
    let collect = wx.getStorageSync("collect")||[]
    // 2.判断当前商品是否被收藏
     const isInfo=collect.some(v=>v.goods_id===this.GoodsInfo.goods_id)
   this.setData({
      goodObj:{
        //按需导入相应的内容减小程序的负担
        goods_name:goodObj.goods_name,
        goods_price:goodObj.goods_price,
        goods_introduce:goodObj.goods_introduce.replace(/\.webp/g,".jpg"),
        pics:goodObj.pics
      },
      isInfo
   })
 },
//  点击图片获取大图效果
handImage(e){
  // 1.先要构建要预览的图片数组1
  console.log("123456")
  const urls=this.GoodsInfo.pics.map(v=>v.pics_mid);
  //接收传过来的参数
  const current = e.currentTarget.dataset.url;
  wx.previewImage({
    // 要打开的图片
    current: current,
    // 图片数组
    urls:urls
   
  });
},
// 点击 加入购物车
handgwc(){
  // 1.获取缓存中的购物车 数组
  let cart = wx.getStorageSync("cart")||[];
  // 判断商品对象是否存在于购物车中
  let index = cart.findIndex(v=>v.goods_id===this.GoodsInfo.goods_id)
  if(index===-1){
    // 3.不存在 第一次添加
    this.GoodsInfo.num = 1;
    this.GoodsInfo.chek = true;
    cart.push(this.GoodsInfo);
  }else{
    // 4.已经存在购物车数据 执行 num++
    cart[index].num++;
  }
  // 5.把购物车重新添加到缓存中
  wx.setStorageSync("cart",cart);
  // 6.弹框提示
  wx.showToast({
    title:'加入成功',
    icon:'success',
    // true防止用户 手抖 疯狂点击按钮
    mask:true
  })
},
// 点击收藏按钮
handshoucang(){
  let   isInfo=false
  // 1.获取缓存中的商品收藏数组
  let collect =wx.getStorageSync("collect")||[];
  // 2.判断该商品是否被收藏过
  let index = collect.findIndex(v=>v.goods_id===this.GoodsInfo.goods_id);
  // 3.当index!=-1表示 已经收藏过
  if(index!==-1){
    // 能找到就是收藏过了
    collect.splice(index,1)
    isInfo=false
  
  }else{
     collect.push(this.GoodsInfo)
     isInfo=true
    
  }
  wx.setStorageSync("collect",collect)
  this.setData({
    isInfo
  })
}
  
})